package cn.tedu.innerclass;

/**
 * @author :Colin
 * @version 创建时间: 2021/6/25 16:06
 * 本类用于测试匿名内部类
 * 匿名内部类没有名字，通常与匿名对象结合着一起使用*/

public class TestInner5 {
    public static void main(String[] args) {
        /*相当于创建了接口实现类+重写接口中的方法+创建对象+调用功能
        * 匿名对象只能使用一次*/
        new Inner1() {
            @Override
            public void save() {
                System.out.println("Inner1 save");
            }

            @Override
            public void get() {
                System.out.println("Inner1 get");

            }
        }.get();
        new A(){
            @Override
            void save() {

            }

            @Override
            void get() {
                System.out.println("get good grades");
            }
        }.get();
        new Inner3().power();
        Inner3 i3 = new Inner3();
        i3.power();
        i3.power();
        i3.power();
        i3.study();
        i3.power();
        i3.power();
    }

}
interface Inner1{
    //2.定义接口中的抽象方法
    void save();
    void get();

}
abstract class A{
    //2.定义接口中的抽象方法
    abstract void save();
    abstract void get();
    public void play(){
        System.out.println("A..play ");
    }

}
class Inner3{
    public void study(){
        System.out.println("什么都阻挡不了学习");
    }
    public void power(){
        System.out.println("power");
    }
}


